//*********************************************************
//
//    Copyright (c) Microsoft. All rights reserved.
//    This code is licensed under the Apache License, Version 2.0.
//    THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
//    ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
//    IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
//    PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
//
//*********************************************************

namespace Microsoft.Research.ScientificWorkflow.ManagementStudioControls.RegistryManagerModule
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Collections.ObjectModel;
    using System.Windows;

    using Microsoft.Research.ScientificWorkflow.ManagementStudioModels;
    /// <summary>
    /// Interface for the registry manager left pane.
    /// </summary>
    public interface IRegistryManagerLeftPaneItemPresenter
    {
        /// <summary>
        /// Flag to determine whether the presenter is currently selected.
        /// </summary>
        bool IsSelected { get; set; }

        /// <summary>
        /// Gets or sets the search view.
        /// </summary>
        /// <value>The search view.</value>
        UIElement SearchView { get; set; }

        /// <summary>
        /// Gets or sets the left pane view.SaveWorkflowCommand
        /// </summary>
        /// <value>The left pane view.</value>
        UIElement LeftPaneView { get; set; }

        /// <summary>
        /// Gets or sets the left pane presener.
        /// </summary>
        /// <value>The left pane presener.</value>
        ILeftPaneControl LeftPanePresenter { get; set; }

        /// <summary>
        /// Initializes this instance.
        /// </summary>
        void Initialize();

        /// <summary>
        /// Refreshes this instance.
        /// </summary>
        void Refresh(BaseRegMgrModel selectedModel);
    }
}
